#include <stdio.h>

int main()
{
    FILE *fp = fopen("test.txt", "r"); // 文件指针
    // FILE *fp = fopen("test.txt", "w"); // 文件指针
    //  r:只读  如果文件不存在则打开失败
    //  w:只写  如果文件不存在则创建，如果文件存在则清空
    // r+:读写  如果文件不存在则打开失败
    // w+:读写  如果文件不存在则创建，如果文件存在则清空
    if (fp == NULL)
    {
        perror("fopen");
        return -1;
    }

    // printf("%p\n", fp);

    char buf[1024] = {0};
    int res = fread(buf, 1, 3, fp);
    // fread(缓冲区, 每次读取的字节数, 读取次数, 文件指针)

    printf("res = %d %s\n", res, buf);

    int res1 = feof(fp);   // 判断是否到达文件末尾    0:不正常结束 1:正常结束
    int res2 = ferror(fp); // 判断是否出错           0:未出错 1:出错

    printf("res1 = %d res2 = %d\n", res1, res2);

    fclose(fp);
}